1541A - Pretty Permutations - CodeForces Solution


constructive algorithms greedy implementation *800

Please click on ads to support us..

Python Code:

import math

t = int(input())

for _ in range(t):
    n = int(input())

    if n == 1:
        print('1')
    if n == 2:
        print('2 1')
    if n == 3:
        print('3 1 2')
    if n > 3:
        arr = list(range(1, n+1))
        if n % 2 == 0:
            res = []
            for i in range(0, len(arr)-1, 2):
                res.append(arr[i+1])
                res.append(arr[i])
            print(' '.join(map(str, res)))
                

        else:
            res = []
            for i in range(3, len(arr)-1, 2):
                res.append(arr[i+1])
                res.append(arr[i])
            print('3 1 2 ' + ' '.join(map(str, res)))
        

C++ Code:

#include<bits/stdc++.h>
using namespace std;

#define endl '\n'

int main(){
    int t; cin>>t; while(t--){
        int n; cin>>n;
        vector <int> v;
        int limit = (n/2)*2;
        for(int i=0; i<n; i++){
            int temp = i+1;
            if(i<limit){
                temp = ((i%2==0)? (temp+1): (temp-1));
            }
            v.push_back(temp);
        }
        if(n%2){
            swap(v[v.size()-1], v[v.size()-2]);
        }
        for(auto i: v){
            cout<<i<<' ';
        }cout<<endl;
    }

    return 0;
}


Comments

Submit
0 Comments
More Questions

450A - Jzzhu and Children
546A - Soldier and Bananas
32B - Borze
1651B - Prove Him Wrong
381A - Sereja and Dima
41A - Translation
1559A - Mocha and Math
832A - Sasha and Sticks
292B - Network Topology
1339A - Filling Diamonds
910A - The Way to Home
617A - Elephant
48A - Rock-paper-scissors
294A - Shaass and Oskols
1213A - Chips Moving
490A - Team Olympiad
233A - Perfect Permutation
1360A - Minimal Square
467A - George and Accommodation
893C - Rumor
227B - Effective Approach
1534B - Histogram Ugliness
1611B - Team Composition Programmers and Mathematicians
110A - Nearly Lucky Number
1220B - Multiplication Table
1644A - Doors and Keys
1644B - Anti-Fibonacci Permutation
1610A - Anti Light's Cell Guessing
349B - Color the Fence
144A - Arrival of the General